layui.use(["laytp"], function () {
    const funController = {};
    let form = layui.form;
    layui.laytpl($("#form").html()).render([], function (string) {
        $("form").html(string);
        layui.laytpForm.render();
        form.render();
    });
    let game_id = facade.getUrlParam('game_id');
    //静态页面地址前缀
    window.htmlPrefix = facade.compatibleHtmlPath("/admin/lineup/team/");
    //后端接口地址前缀
    window.apiPrefix = facade.compatibleApiRoute("/admin.lineup.team/");

    var loadstr = '<video width="100%" height="100%"  controls="controls" autobuffer="autobuffer"  autoplay="autoplay" loop="loop"><source src="https://static.g.mi.com/game/game-tools/operation-video/lineup-tool-instructions/通用阵容工具-创建组合配置模块使用说明.mp4" type="video/mp4"/></video>'
    $(document).on('click', '#study', function () {
        layer.open({
            area: ['800px', '420px'],
            type: 1,
            title: '教程',
            content: loadstr,
        });
    })

    //表格渲染
    funController.tableRender = function (where, page) {
        if (typeof where == "undefined") {
            where = {
                "search_param[lineup_game_id][condition]": "=",
                "search_param[lineup_game_id][value]": game_id,
            }
        } else {
            where["search_param[lineup_game_id][condition]"] = "=";
            where["search_param[lineup_game_id][value]"] = game_id;
        }
        layui.table.render({
            elem: "#laytp-table"
            , id: "laytp-table"
            , url: window.apiPrefix + "index"
            , toolbar: "#default-toolbar"
            , defaultToolbar: [{
                title: '刷新',
                layEvent: 'refresh',
                icon: 'layui-icon-refresh',
            }, 'filter', 'print', 'exports']
            , where: where
            , method: "GET"
            , cellMinWidth: 120
            , skin: 'line'
            , loading: false
            , page: {
                curr: page
            }
            , parseData: function (res) { //res 即为原始返回的数据
                return facade.parseTableData(res, true);
            }
            , done: function () {
                layui.laytpTable.done();
            }
            , cols: [[
                {type: 'checkbox', fixed: 'left'}
                , {field: 'id', title: 'ID', align: 'center', fixed: 'left'}
                , {field: 'style_name', title: '关联模板', align: 'center', minWidth: 120, fixed: 'left'}
                , {field: 'author_name', title: '发布者名称', align: 'center', minWidth: 120, fixed: 'left'}

                , {
                    field: "author_avatar", title: "发布者头像", align: "center", fixed: 'left', templet: function (d) {
                        return laytp.tableFormatter.images(d.author_avatar);
                    }
                }
                , {
                    field: "status", title: "是否上架", align: "center", width: 90, fixed: 'left', templet: function (d) {
                        return laytpForm.tableForm.switch("status", d, {
                            "open": {"value": 1, "text": "是"},
                            "close": {"value": 2, "text": "否"}
                        }, 'laytp-table-switch', true);
                    }
                }
                , {field: 'team_name', title: '组合名称', align: 'center', minWidth: 120, fixed: 'left'}
                , {field: 'total_number', title: '点赞数量', align: 'center', minWidth: 120, fixed: 'left', sort: "true"}
                , {field: 'total_power', title: '权重数量', align: 'center', minWidth: 120, fixed: 'left', sort: "true"}
                , {field: 'collect_count', title: '实际收藏数', align: 'center', minWidth: 120, fixed: 'left'}
                , {field: 'basic_collect_number', title: '基础收藏数', align: 'center', minWidth: 120, fixed: 'left'}
                , {field: 'create_time', title: '创建时间', minWidth : 178,  fixed: 'left', align: 'center'}
                , {
                    field: "operation",
                    title: "操作",
                    toolbar: "#default-bar",
                    fixed: "right",
                    align: "center",
                    minWidth: 160
                }

            ]]
        });

        //监听数据表格顶部左侧按钮点击事件
        layui.table.on("toolbar(laytp-table)", function (obj) {
            //默认按钮点击事件，包括添加按钮和回收站按钮

            var defaultTableToolbar = layui.context.get("defaultTableToolbar");
            console.log(obj.event)
            if (defaultTableToolbar.indexOf(obj.event) !== -1) {
                laytp.tableToolbar(obj);
            } else {
                //自定义按钮点击事件
                switch (obj.event) {

                }
            }
        });

        //监听数据表格[操作列]按钮点击事件
        layui.table.on("tool(laytp-table)", function (obj) {
            var defaultTableTool = layui.context.get("defaultTableTool");
            if (defaultTableTool.indexOf(obj.event) !== -1) {
                laytp.tableTool(obj);
            } else {
                let data = {}
                data.id = obj.data.id;
                //自定义按钮点击事件
                switch (obj.event) {
                    //自定义按钮点击事件
                    case "audit_yes":
                        facade.popupConfirm({
                            text: "确定通过么?",
                            route: window.apiPrefix + "setStatus",
                            data: {id: obj.data.id, status: 2}
                        }, function (res) {
                            if (res.code === 0) {
                                layui.table.reload('laytp-table', {
                                    initSort: obj //记录初始排序，如果不设的话，将无法标记表头的排序状态。
                                    , where: where
                                });
                            }
                        });
                        break;
                    case "audit_no":
                        facade.popupConfirm({
                            text: "确定不通过么?",
                            route: window.apiPrefix + "setStatus",
                            data: {id: obj.data.id, status: 3}
                        }, function (res) {
                            if (res.code === 0) {
                                layui.table.reload('laytp-table', {
                                    initSort: obj //记录初始排序，如果不设的话，将无法标记表头的排序状态。
                                    , where: where
                                });
                            }
                        });
                        break;
                }
            }
        });

        //监听表头排序事件
        layui.table.on('sort(laytp-table)', function (obj) {
            where["order_param[field]"] = obj.field;
            where["order_param[type]"] = obj.type;
            layui.table.reload('laytp-table', {
                initSort: obj //记录初始排序，如果不设的话，将无法标记表头的排序状态。
                , where: where
            });
        });
    };

    funController.tableRender();

    window.funController = funController;
});